package com.nine.service.impl;

import com.nine.dao.MenuDao;
import com.nine.entity.Menu;
import com.nine.service.MenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author ：Fmc
 * @date ：Created in 2022/6/27 15:25
 * @description：
 * @modified By：
 * @version:
 */
@Service
public class MenuServiceImpl implements MenuService {
    @Autowired
    private MenuDao menuDao;
    /**
     * @create by: Fmc / ssx
     * @description: 通过用户登录名称，获取所有的菜单信息
     * @create time: 2022/6/27 16:52
     * @return: Map<String, List<Menu>>
     */
    @Override
    public Map<String, List<Menu>> findAllMenuByUserName(String userName) {
        List<Menu> allMenu = menuDao.findAllMenuByUserName(userName);
        // 获取全部一级菜单
        List<Menu> menuListLevel1 = new ArrayList<>();
        // 获取全部二级菜单
        List<Menu> menuListLevel2 = new ArrayList<>();
        // 根据菜单分类封装到两个菜单中
        for (Menu menu : allMenu) {
            if (menu.getMenuType().equals("M")){
                menuListLevel1.add(menu);
            }
            if (menu.getMenuType().equals("C")){
                menuListLevel2.add(menu);
            }
        }
        // 将两个菜单封装为一个map
        Map<String, List<Menu>> map = new HashMap<>();
        map.put("menuListLevel1",menuListLevel1);
        map.put("menuListLevel2",menuListLevel2);
        return map;
    }
}
